package net.linku.utils;//package net.linku.net.linku.utils;
//
///**
// * @ClassName LunarSolarConverter
// * @Description: 阳历日期和农历日期的互相转换
// * @Author SilenceTian
// * @Date 2024/1/3
// * @Version V1.0.2
// **/
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;
//
//public class LunarSolarConverter {
//
//    // 阳历日期转农历日期
//    public static String solarToLunar(String solarDate) {
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//        try {
//            Date date = sdf.parse(solarDate);
//            Calendar calendar = Calendar.getInstance();
//            calendar.setTime(date);
//            Lunar lunar = new Lunar(calendar);
//            return lunar.toString();
//        } catch (ParseException e) {
//            e.printStackTrace();
//            return "日期格式错误";
//        }
//    }
//
//    // 农历日期转阳历日期
//    public static String lunarToSolar(String lunarDate) {
//        try {
//            Lunar lunar = new Lunar(lunarDate);
//            Calendar calendar = lunar.toSolar();
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//            return sdf.format(calendar.getTime());
//        } catch (Exception e) {
//            e.printStackTrace();
//            return "日期格式错误";
//        }
//    }
//
//    public static void main(String[] args) {
//        String solarDate = "2024-01-01"; // 替换成实际的阳历日期
//        String lunarDate = solarToLunar(solarDate);
//        System.out.println("阳历转农历：" + lunarDate);
//
//        String lunarDate2 = "2023-11-10"; // 替换成实际的农历日期
//        String solarDate2 = lunarToSolar(lunarDate2);
//        System.out.println("农历转阳历：" + solarDate2);
//    }
//}
//
//class Lunar {
//    private int lunarYear;
//    private int lunarMonth;
//    private int lunarDay;
//    private boolean isLeap;
//
//    private static String[] lunarMonths = {"正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "冬", "腊"};
//    private static String[] lunarDays = {"初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十",
//            "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十",
//            "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十"};
//
//    public Lunar(Calendar calendar) {
//        lunarYear = calendar.get(Calendar.YEAR);
//        lunarMonth = calendar.get(Calendar.MONTH) + 1;
//        lunarDay = calendar.get(Calendar.DAY_OF_MONTH);
//        int leapMonth = LunarUtil.leapMonth(lunarYear);
//        isLeap = lunarMonth == leapMonth;
//    }
//
//    public Lunar(String lunarDate) throws ParseException {
//        String[] parts = lunarDate.split("-");
//        lunarYear = Integer.parseInt(parts[0]);
//        lunarMonth = Integer.parseInt(parts[1]);
//        lunarDay = Integer.parseInt(parts[2]);
//        int leapMonth = LunarUtil.leapMonth(lunarYear);
//        isLeap = lunarMonth == leapMonth;
//    }
//
//    public Calendar toSolar() {
//        int dayOfYear = LunarUtil.lunarToSolar(lunarYear, lunarMonth, lunarDay, isLeap);
//        Calendar calendar = Calendar.getInstance();
//        calendar.set(Calendar.DAY_OF_YEAR, dayOfYear);
//        return calendar;
//    }
//
//    @Override
//    public String toString() {
//        String leapStr = isLeap ? "闰" : "";
//        return lunarYear + "年" + leapStr + lunarMonths[lunarMonth - 1] + "月" + lunarDays[lunarDay - 1];
//    }
//}
//
//class LunarUtil {
//    // 农历数据，这里只列举部分，可以根据实际需求扩充
//    private static int[] lunarInfo = {
//            0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1901-1910
//            0x04ae0, 0x0a5b6, 0x0a4d9, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1911-1920
//            0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x0d2a0, 0x0a9a8, // 1921-1930
//            0x0a6b0, 0x0b570, 0x05530, 0x05738, 0x0a4e0, 0x0a4e6, 0x0d260, 0x0ea65, 0x0d530, 0x0aae4, // 1931-1940
//            0x0a37a, 0x052b0, 0x0b550, 0x056a0, 0x0a5b4, 0x0a5b2, 0x0ab26, 0x0e9a0, 0x06c50, 0x06d40, // 1941-1950
//            0x0af46, 0x0ab50, 0x04b60, 0x0aae4, 0x0a9a8, 0x0b550, 0x06ca0, 0x0ca50, 0x0da45, 0x0b5a0, // 1951-1960
//            0x056d0, 0x055b2, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, 0x14b63, 0x09370, 0x093d0, // 1961-1970
//            0x0a9a8, 0x0c950, 0x0b4a0, 0x0da50, 0x05aa4, 0x056d0, 0x02b60, 0x09530, 0x0a4b0, 0x0b4b5, // 1971-1980
//            0x06a50, 0x06b20, 0x0a930, 0x0a905, 0x0ab50, 0x04b60, 0x0b565, 0x0b5a0, 0x0a9d0, 0x0a950, // 1981-1990
//            0x0b4a0, 0x0b6a6, 0x0a920, 0x0a955, 0x056a0, 0x0a6d0, 0x0a2b0, 0x0aa50, 0x05b57, 0x04b60, // 1991-2000
//            0x0a9a8, 0x0a950, 0x0b4a0, 0x0b6a0, 0x0ab50, 0x02b60, 0x09570, 0x052f2, 0x0b2a0, 0x0a9d0, // 2001-2010
//            0x0b550, 0x056a0, 0x0eaa0, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x0b457, 0x0a9a8, 0x0b4a0, // 2011-2020
//            0x0baa0, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x09576, 0x052b0, 0x0b2a0};
//}
